## API Report File for "@backstage/plugin-search"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { BackstagePlugin } from '@backstage/core-plugin-api';
import { IconComponent } from '@backstage/core-plugin-api';
import { JSX as JSX_2 } from 'react';
import { default as React_2 } from 'react';
import { ReactNode } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';
import { SearchBarBaseProps } from '@backstage/plugin-search-react';

// @public (undocumented)
export const HomePageSearchBar: (
  props: Partial<Omit<SearchBarBaseProps, 'onChange' | 'onSubmit'>>,
) => JSX_2.Element;

// @public
export type HomePageSearchBarProps = Partial<
  Omit<SearchBarBaseProps, 'onChange' | 'onSubmit'>
>;

// @public (undocumented)
export const Router: () => React_2.JSX.Element;

// @public (undocumented)
export const SearchModal: (props: SearchModalProps) => React_2.JSX.Element;

// @public (undocumented)
export interface SearchModalChildrenProps {
  toggleModal: () => void;
}

// @public (undocumented)
export interface SearchModalProps {
  children?: (props: SearchModalChildrenProps) => JSX.Element;
  hidden?: boolean;
  open?: boolean;
  toggleModal: () => void;
}

// @public
export const SearchModalProvider: (
  props: SearchModalProviderProps,
) => React_2.JSX.Element;

// @public
export type SearchModalProviderProps = {
  children: ReactNode;
  showInitially?: boolean;
};

// @public
export type SearchModalValue = {
  state: {
    hidden: boolean;
    open: boolean;
  };
  toggleModal: () => void;
  setOpen: (open: boolean) => void;
};

// @public (undocumented)
export const SearchPage: () => JSX_2.Element;

// @public (undocumented)
const searchPlugin: BackstagePlugin<
  {
    root: RouteRef<undefined>;
  },
  {}
>;
export { searchPlugin as plugin };
export { searchPlugin };

// @public (undocumented)
export const SearchType: {
  (props: SearchTypeProps): React_2.JSX.Element;
  Accordion(props: SearchTypeAccordionProps): React_2.JSX.Element;
  Tabs(props: SearchTypeTabsProps): React_2.JSX.Element;
};

// @public (undocumented)
export type SearchTypeAccordionProps = {
  name: string;
  types: Array<{
    value: string;
    name: string;
    icon: JSX.Element;
  }>;
  defaultValue?: string;
  showCounts?: boolean;
};

// @public
export type SearchTypeProps = {
  className?: string;
  name: string;
  values?: string[];
  defaultValue?: string[] | string | null;
};

// @public (undocumented)
export type SearchTypeTabsProps = {
  types: Array<{
    value: string;
    name: string;
  }>;
  defaultValue?: string;
};

// @public (undocumented)
export const SidebarSearch: (props: SidebarSearchProps) => React_2.JSX.Element;

// @public (undocumented)
export const SidebarSearchModal: (
  props: SidebarSearchModalProps,
) => JSX_2.Element;

// @public
export type SidebarSearchModalProps = {
  icon?: IconComponent;
  children?: (props: SearchModalChildrenProps) => JSX.Element;
};

// @public
export type SidebarSearchProps = {
  icon?: IconComponent;
};

// @public
export function useSearchModal(initialState?: boolean): SearchModalValue;
```
